package com.xiyu.service.vo.market.marketSetting;

import com.xiyu.service.vo.market.setting.baseVO.MarketSettingSenderBase;
import com.xiyu.service.vo.market.setting.baseVO.MarketSettingReplyBase;
import com.xiyu.service.vo.market.setting.baseVO.MarketSettingDomainBase;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.Valid;
import com.xiyu.service.enums.common.CommonStatusEnum;
import com.xiyu.service.framework.validation.InEnum;
import org.springframework.format.annotation.DateTimeFormat;
    import static com.xiyu.service.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
    import java.time.LocalDateTime;

@Schema(description = "查询发件人")
@Data
@AllArgsConstructor
public class MarketSettingSenderListOutput extends MarketSettingSenderBase {

    @Schema(description = "修改人ID")
    private Long updaterId;

    @Schema(description = "创建人ID")
    private Long creatorId;

    @Schema(description = "更新时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime updateTime;

    @Schema(description = "用户信息表")
    @Valid
    private owner owner;

    @Schema(description = "营销发件人设置主键ID")
    private Long id;

    @Schema(description = "营销回复人设置")
    @Valid
    private reply reply;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTime;

    @Schema(description = "发信域名")
    @Valid
    private domain domain;

    @Schema(description = "发信域名")
    @Data
    public static class domain extends MarketSettingDomainBase {
    }

    @Schema(description = "用户信息表")
    @Data
    public static class owner {

        @Schema(description = "用户昵称", example = "芋艿")
        private String nickname;
    }

    @Schema(description = "营销回复人设置")
    @Data
    public static class reply extends MarketSettingReplyBase {
    }
}